package com.atguigu.daijia.driver.config;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
public class WxMaConfig {

    @Resource
    private WxMaProperties wxMaProperties;
    /**
     * 配置并返回一个微信小程序服务对象
     * 该方法通过@Bean注解指示这是一个Spring管理的Bean，可以被其他部分自动注入
     * 详细解释了为什么这样配置以及预期的效果
     *
     * @return 配置好的WxMaService实例，用于后续操作
     */
    @Bean
    public WxMaService getWxMaService() {
        // 初始化微信小程序配置对象
        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
        // 设置小程序的appid和secret，这是访问微信接口所必需的凭证
        config.setAppid(wxMaProperties.getAppid());
        config.setSecret(wxMaProperties.getSecret());

        // 创建并初始化一个微信小程序服务对象
        WxMaService wxMaService = new WxMaServiceImpl();
        wxMaService.setWxMaConfig(config);
        return wxMaService;
    }
}
